#!/bin/sh

#
#  fftool-deploy_all.sh
#  Created by hufang on 20/3/31.
#

#================================= 全局变量 ==================================
#
# The script expects '0.5' but non-US localizations use '0,5' so we export
# LC_NUMERIC here (for the duration of the enable-HiDPI.sh) to prevent errors.
#
export LC_NUMERIC="en_US.UTF-8"

#
# Prevent non-printable/control characters.
#
unset GREP_OPTIONS
unset GREP_COLORS
unset GREP_COLOR


# 支持文件所在目录，
# 例如：ffmpeg 会解压至 ~/mytool/tool/ffmpeg
toolDir=~/

# 脚本文件目录
ffDir=~/mytool/fftool
if [ ! -d "${ffDir}" ];then
  mkdir "${ffDir}"/
fi


echo '------------------------------------'
echo '欢迎使用 转码工具箱 部署脚本'
echo '------------------------------------'
echo .
# 部署支持文件
echo '(1/2)请拖入 mytool.zip 然后按确认键：'
read ANS
ext=${ANS##*.}
tmp=${ANS##*/}
dirName=${tmp%.*}
if [ $ext != 'zip' ];then
  echo "请拖入zip文件！！！"
  exit
fi
if [ $dirName != 'mytool' ];then
  echo "请拖入名为 mytool.zip 的文件！"
  exit
fi
echo "正在解压支持文件..."
unzip -o "${ANS}" -d "${toolDir}"
echo .


echo "正在给支持文件授权..."
# 关闭验证
# sudo spctl --master-disable
declare -a NAMES=(~/mytool/tool/aapt \
~/mytool/tool/adb \
~/mytool/tool/ffmpeg \
~/mytool/tool/ffplay \
~/mytool/tool/ffprobe \
~/mytool/tool/libavcodec.58.dylib \
~/mytool/tool/libavdevice.58.dylib \
~/mytool/tool/libavfilter.7.dylib \
~/mytool/tool/libavformat.58.dylib \
~/mytool/tool/libavutil.56.dylib \
~/mytool/tool/libpostproc.55.dylib \
~/mytool/tool/libswresample.3.dylib \
~/mytool/tool/libswscale.5.dylib)

for(( i=0;i<${#NAMES[@]};i++)) do
    declare -a f=${NAMES[i]}
    sudo xattr -r -d com.apple.quarantine "${f}"
    sudo xattr -cr "${f}"
done
echo .


# 部署脚本版
echo '(2/2)请拖入 脚本版 然后按确认键（例如：转码工具箱_v2.9.8_脚本版.zip）：'
read ANS
ext=${ANS##*.}
tmp=${ANS##*/}
dirName=${tmp%.*}

if [ $ext != 'zip' ];then
  echo "请拖入zip文件"
  exit
fi
# 解压
echo "正在解压脚本版...""${toolDir}"
unzip -o "${ANS}" -d "${ffDir}"

# 将主文件设置为可执行，并创建快捷方式到桌面
mainPy="${ffDir}"/"${dirName}/src/main.py"
chmod +x "${mainPy}"
ln -f -s "${mainPy}" ~/Desktop/"${dirName}"

echo .
echo "部署完成，在桌面上有快捷方式哦！ (*￣︶￣)"
echo .
exit